<!DOCTYPE html>
            
<HTML>
<HEAD>
<meta name="booktitle" content="Developing Applications With Objective Caml" >
 <meta charset="ISO-8859-1"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<META name="GENERATOR" content="hevea 1.05-7 of 2000-02-24">
<META NAME="Author" CONTENT="Christian.Queinnec@lip6.fr">
<LINK rel=stylesheet type="text/css" href="videoc-ocda.css">
<script language="JavaScript" src="videoc.js"><!--
//--></script>
<TITLE>
 To Learn More
</TITLE>
</HEAD>
<BODY class="regularBody">
<A HREF="book-ora180.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora183.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>

<H2> To Learn More</H2> The first requirements for concurrent algorithms arose from systems programming. 
For this application, the imperative model of shared memory is the most widely used. 
For example, the relation of mutual exclusion and semaphores are used to 
manage shared resources. The different low-level mechanisms of managing 
processes accessing shared memory are described in [<A HREF="book-ora214.html#Ari"><CITE>Ari90</CITE></A>]. <BR>
<BR>
Nonetheless, the possibility of expressing concurrent algorithms in one's 
favorite languages makes it possible to investigate this kind of algorithm, 
as presented in [<A HREF="book-ora214.html#Andrews"><CITE>And91</CITE></A>]. 
It may be noted that while the concepts of such algorithms can simplify the 
solution of certain problems, the production of the corresponding 
programs is quite hard work. <BR>
<BR>
The model of synchronous communication presented by CML, and followed
by the <TT>Event</TT> module, is 
fully described in [<A HREF="book-ora214.html#Reppy-th"><CITE>Rep99</CITE></A>]. 
The online version is at the following address: 


<H3> Link </H3> <HR>

<A HREF="http://cm.bell-labs.com/cm/cs/who/jhr/index.html">http://cm.bell-labs.com/cm/cs/who/jhr/index.html</A> 


<HR>

 
An interesting example is the threaded graphical library 
<TT>EXene</TT>, 
implemented in CML under X-Windows. The preceding link contains a pointer 
to this library. <BR>
<BR>


<BR>
<BR>
<BR>
<BR>
<HR>
<A HREF="book-ora180.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora183.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>
